Skip to content

[Chore] Add documentation for OpenShift tests#4219

Merged
pavolloffay merged 1 commit intoopen-telemetry:mainfrom
IshwarKanse:docs
Aug 4, 2025
Merged

[Chore] Add documentation for OpenShift tests#4219
pavolloffay merged 1 commit intoopen-telemetry:mainfrom
IshwarKanse:docs

Conversation

@IshwarKanse
Copy link
Contributor

@IshwarKanse IshwarKanse commented Jul 25, 2025

OpenTelemetry Operator OpenShift End-to-End Test Suite

This directory contains a comprehensive set of OpenShift-specific end-to-end tests for the OpenTelemetry Operator. These tests serve as configuration blueprints for users to understand and deploy various OpenTelemetry observability patterns on OpenShift.

🎯 Purpose

These test scenarios provide OpenTelemetry configuration blueprints that demonstrate:

  • Integration with OpenShift-specific features (Routes, Monitoring, Security)
  • Real-world observability patterns and configurations
  • Step-by-step deployment instructions for various use cases

📋 Test Scenarios Overview

Scenario Purpose Key Features
route External Access via OpenShift Routes Route ingress, OTLP HTTP/gRPC endpoints
scrape-in-cluster-monitoring Prometheus Metrics Federation In-cluster monitoring integration, metrics scraping
otlp-metrics-traces OTLP Endpoint with Tempo Metrics & traces collection, Tempo integration
multi-cluster Secure Multi-Cluster Communication TLS certificates, cross-cluster telemetry
must-gather Diagnostic Information Collection Must-gather functionality, target allocator
monitoring Platform Monitoring Integration OpenShift monitoring stack integration
kafka Messaging Layer for Telemetry Kafka-based telemetry distribution
export-to-cluster-logging-lokistack Log Export to LokiStack Log shipping to OpenShift logging

🔗 OpenTelemetry Collector Components Tests

For detailed component-specific configurations and testing patterns, see the OpenTelemetry Component E2E Test Suite in the distributed-tracing-qe repository:

📡 Receivers:

📤 Exporters:

⚙️ Processors:

🔗 Connectors:

🔧 Extensions:

These component test blueprints provide configurations for individual OpenTelemetry components that can be combined with the OpenShift integration patterns documented here.

🚀 Quick Start

Prerequisites

  • OpenShift cluster (4.12+)
  • OpenTelemetry Operator installed
  • oc CLI tool configured
  • Appropriate cluster permissions

Running Tests

These tests use Chainsaw for end-to-end testing:

# Run all OpenShift tests
chainsaw test --test-dir tests/e2e-openshift/

# Run specific test scenario
chainsaw test --test-dir tests/e2e-openshift/route/

Using as Configuration Templates

Each test directory contains:

  • Configuration Files: YAML configuration blueprints
  • README.md: Step-by-step deployment instructions
  • Scripts: Verification and setup automation

📁 Directory Structure

tests/e2e-openshift/
├── README.md                                    # This overview
├── route/                                       # External access patterns
├── scrape-in-cluster-monitoring/               # Prometheus integration
├── otlp-metrics-traces/                        # OTLP with Tempo
├── multi-cluster/                              # Cross-cluster telemetry
├── must-gather/                                # Diagnostic collection
├── monitoring/                                 # Platform monitoring
├── kafka/                                      # Messaging patterns
└── export-to-cluster-logging-lokistack/       # Log export patterns

🔧 Configuration Patterns

Common OpenShift Integrations

  1. Security Context Constraints (SCCs)

    • Automated SCC annotations for namespaces
    • Service account configurations
  2. OpenShift Routes

    • TLS termination options
    • External endpoint exposure
  3. Monitoring Stack Integration

    • Prometheus federation
    • Platform monitoring labels
  4. RBAC Configurations

    • Cluster roles and bindings
    • Service account permissions

📖 Documentation

Each test scenario includes:

  • Configuration blueprints for reference and adaptation
  • Step-by-step instructions for manual deployment
  • Verification steps to ensure proper operation
  • Troubleshooting guidance for common issues

🏷️ Labels and Annotations

OpenShift-specific labels and annotations used across scenarios:

  • openshift.io/cluster-monitoring=true - Enable platform monitoring
  • openshift.io/sa.scc.uid-range - UID range for security contexts
  • openshift.io/sa.scc.supplemental-groups - Supplemental groups for SCCs

🤝 Contributing

When adding new test scenarios:

  1. Include comprehensive README with step-by-step instructions
  2. Provide configuration blueprint examples
  3. Add verification scripts for testing
  4. Document OpenShift-specific considerations

📝 Documentation Note

The comprehensive READMEs in this test suite were generated using Claude AI to provide detailed, step-by-step configuration blueprints for OpenTelemetry deployments on OpenShift. These AI-generated guides aim to accelerate user adoption by providing clear, actionable documentation for complex observability scenarios.

To regenerate / update the docs, the following prompt can be used.

To enhance our OpenShift End-to-End (E2E) tests, we need to create comprehensive README files within the tests/e2e-openshift directory. These READMEs should provide a maintained set of OpenTelemetry configuration blueprints to assist users in easily deploying and configuring their observability stack, enabling them to quickly access and learn from out-of-the-box observability collection patterns. Each README must include step-by-step instructions referenced directly from the test cases, citing test resources and scripts. Since the test cases are written using the Chainsaw E2E testing tool, the READMEs should be designed from a user perspective for clear and easy follow-through.

📚 Additional Resources

@IshwarKanse IshwarKanse requested a review from a team as a code owner July 25, 2025 10:12
@IshwarKanse IshwarKanse force-pushed the docs branch 2 times, most recently from 2d0ae3c to 6175b13 Compare July 25, 2025 10:21
@IshwarKanse IshwarKanse marked this pull request as draft July 25, 2025 10:28
@IshwarKanse IshwarKanse marked this pull request as ready for review July 25, 2025 11:34
@IshwarKanse
Copy link
Contributor Author

cc @pavolloffay

@pavolloffay
Copy link
Member

I have spoken with @IshwarKanse, and he will try to reduce the readmes and remove the manifest files from them.

@github-actions
Copy link
Contributor

github-actions bot commented Jul 30, 2025

E2E Test Results

 33 files  ±0  221 suites  ±0   4h 0m 21s ⏱️ - 1m 15s
 85 tests ±0   85 ✅ +1  0 💤 ±0  0 ❌  - 1 
225 runs  ±0  225 ✅ +1  0 💤 ±0  0 ❌  - 1 

Results for commit bcc0f43. ± Comparison against base commit 5ddc440.

♻️ This comment has been updated with latest results.

@IshwarKanse
Copy link
Contributor Author

@pavolloffay Updated the PR to reference existing resources from the tests.

Assisted by Cursor IDE using Claude AI model.
Copy link
Member

@frzifus frzifus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thats great!

@pavolloffay pavolloffay merged commit e0ccffc into open-telemetry:main Aug 4, 2025
48 checks passed
@IshwarKanse IshwarKanse deleted the docs branch November 28, 2025 06:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants